package com.eastfair.certificate.service;

import com.alibaba.fastjson.JSONObject;
import com.eastfair.boot.service.SuperService;
import com.eastfair.certificate.dto.BadgeTemplateDTO;
import com.eastfair.certificate.dto.BadgeTemplateDetailDTO;
import com.eastfair.certificate.entity.BadgeTemplateDetail;
import com.eastfair.certificate.vo.BadgeTemplateDetailVO;
import com.eastfair.certificate.vo.BadgeTemplateVO;

import java.util.List;

/**
 * <p>
 * 业务接口
 * 制证模板详情
 * </p>
 *
 * @author ligang
 * @date 2022-12-20
 */
public interface BadgeTemplateDetailService extends SuperService<BadgeTemplateDetail> {
    /**
     * do转vo
     *
     * @param model
     */
    BadgeTemplateDetailVO doToVo(BadgeTemplateDetail model);

    /**
     * do转vo
     *
     * @param modelList
     */
    List<BadgeTemplateDetailVO> doToVos(List<BadgeTemplateDetail> modelList);


    /**
     * 通用查询
     *
     * @param modelDTO DTO
     * @param ids      主键id集合
     * @return list
     */
    List<BadgeTemplateDetail> list(BadgeTemplateDetailDTO modelDTO, List<Long> ids);

    /**
     * 通用查询
     *
     * @param modelDTO DTO
     * @param ids      主键id集合
     * @return list
     */
    List<BadgeTemplateDetail> listOfCache(BadgeTemplateDetailDTO modelDTO, List<Long> ids);

    /**
     * 添加集合数据
     * @param templateId
     * @param badgeTemplateDetailDTOList
     * @return
     */
    List<BadgeTemplateDetailVO> saveOfList(Long templateId,List<BadgeTemplateDetailDTO> badgeTemplateDetailDTOList);

    /**
     * 组装数据
     * @param badgeDetailJsonList
     * @return
     */
    List<BadgeTemplateDetailDTO> assembleData(List<JSONObject> badgeDetailJsonList);

    List<JSONObject> assembleDataOfJson(List<BadgeTemplateDetailVO> badgeTemplateDetailVOList);
}
